﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Web_Blog
{
    public partial class BaiViet : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //Kiểm tra coi đã đăng nhập chưa
            if (Session["uID"] == null)
            {
                Session["url"] = Request.RawUrl;
                Response.Redirect("DangNhap.aspx");
            }

            //Kiểm tra coi có p chưa
            if (Request.QueryString["p"] == null)
                Response.Redirect("CacBaiViet.aspx");

            //Load nội dung bài viết
            Object.Load1PostObject post = new Object.Load1PostObject();
            post = Controler.POST.Load(int.Parse(Request.QueryString["p"].ToString()));

            NoiDungBaiViet.InnerHtml = "<h1>" + post.Title + "</h1>";
            NoiDungBaiViet.InnerHtml += "<h5>Được đăng bởi: <a href=\"TrangChu.aspx?u=" + post.UID + "\">" + post.Nick;

            NoiDungBaiViet.InnerHtml += "</a></h5><br/>" + post.Contents;
            NoiDungBaiViet.InnerHtml += "<br/><br/><i>Ngày tạo: " + post.Createdate;
            if (!(post.Modifydate==null || post.Modifydate==""))
                NoiDungBaiViet.InnerHtml +=  " | "+"Lần sửa cuối: "+post.Modifydate;

            //Chính chủ mới được sửa
            if (Session["uID"].ToString().Equals(post.UID.ToString()))
            {
                NoiDungBaiViet.InnerHtml += " | <a href='SuaBaiViet.aspx?p=" + post.PID + "'> Sửa</a>";
                Delete.Visible = true;
            }

            //Load người like:
            NguoiLike.InnerHtml = "</i><br/><hr/><br/>"+Controler.Like.LoadLike(post.Liked)+"<br/>";

            //Load người comment
            Comment.InnerHtml = Controler.Comment.LoadComment(post.PID);
            myavatar.Src = Session["avatar"].ToString();

            //Kiểm tra đã like chưa, nếu rồi ko ko cho like nữa
            if (NguoiLike.InnerText.Contains("u=" + Session["uID"].ToString() + "'"))
            {
                Like.Visible = false;
                Unlike.Visible = true;
            }

            //Kiểm tra không cho xem bài viết khi đã block
            if (post.Block == 1)
                Response.Redirect("./Loi.aspx") ;

        }
        

        //Gửi comment
        protected void btnGuiComment_Click(object sender, EventArgs e)
        {
            Object.PostCommentObject comment = new Object.PostCommentObject();
            comment.PID = int.Parse(Request.QueryString["p"].ToString());
            comment.UID = int.Parse(Session["uID"].ToString());
            comment.Contents = txtComment.Text;
            Controler.Comment.PostComment(comment).ToString();
            Response.Redirect(Request.RawUrl+"#newcomment");
        }

        //Khi nhấn like
        protected void Like_Click(object sender, EventArgs e)
        {
            Object.DoLikeObject lk = new Object.DoLikeObject();
            lk.PID = int.Parse(Request.QueryString["p"].ToString());
            lk.UID = int.Parse(Session["uID"].ToString());

            Controler.Like.DoLike(lk);
            Response.Redirect(Request.RawUrl + "#newcomment");
        }

        //Khi nhấn unlike
        protected void Unlike_Click(object sender, EventArgs e)
        {
            Object.DoLikeObject lk = new Object.DoLikeObject();
            lk.PID = int.Parse(Request.QueryString["p"].ToString());
            lk.UID = int.Parse(Session["uID"].ToString());

            Controler.Like.DoUnLike(lk);
            Response.Redirect(Request.RawUrl + "#newcomment");
        }

        //Xóa bài viết
        protected void Delete_Click(object sender, EventArgs e)
        {
            Controler.POST.Delete(int.Parse(Request.QueryString["p"].ToString()));
            Response.Redirect("CacBaiViet.aspx");
        }

    }
}